package test;

public class T6 {

	/**
	 * 判断奇偶
	 * @param x
	 * @return
	 */
	public static boolean isPrime(int x) {
		if (x==2||x==3) return true;
		if(x%2==0) return false; 
		for (int i = 2; i*i <= x ; i++) 
			if (x%i==0) return false;
		return true;
	}
	
	public static void main(String[] args) {
		// 从2开始
		for (int i = 2; i < 100; i++) {
			// 将i放入isPrime()函数中，进行判断是否是质数。如果是质数，则输出。
			if(isPrime(i)) System.out.println(i);
		}
	}
	
	/**
	 * 判断奇偶 函数详解
	 * @param x
	 * @return
	 */
	public static boolean isPrimeExplain(int x) {
		if (x==2||x==3) return true;
		if(x%2==0) return false; // 偶数除了2 没有质数
		// if 语句不打花括号 默认把后面的第一条语句当成大括号
		// 上面语句等价于 if(x%2==0) {return false;}
		
		// 对程序进行优化  
		// 一个数的最大因数不会超过它的平方根
		// 9的最大因数 3，16最大因数 4 
		//  i <=x  →  i*i <= x
		for (int i = 2; i*i <= x ; i++) {
			// 如果 是合数 返回假
			if (x%i==0) return false;
		}
		// 从2~√x 都没被除尽  说明它是质数 返回真
		return true;
	}
	
	
	
}
